package collection;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * List集合
 * List是Collection下面常见的一类集合。
 * java.util.List接口是所有List的接口，它是继承自Collection.
 * 常见的实现类
 * java.util.ArrayList:内部由数组实现，查询性能更好。
 * java.util.LinkedList:内部由链表实现，增删性能更好。
 *
 * List集合的特点是：可以存放重复元素，并且有序。其提供了一套可以通过下标
 * 操作元素的方法。
 */
public class ListDemo5_8 {
    public static void main(String[] args) {
        List <String> list=new ArrayList<>();
//        List <String> list=new LinkedList<>();

        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        list.add("seven");
        /*
        E get(int index)
        获取指定下标对应的元素
         */
        String e=list.get(3);
        System.out.println(e);
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        /*
        E set(int index,E e)
        将给定元素设置到指定位置，返回值为该位置原有的元素。
        替换元素操作。
         */
        String old=list.set(1,"six");
        System.out.println(list);//[one,six,three,four,five]
        System.out.println("被替换的元素是"+old);
        int q=list.size()-1;
        for(int i=0;i<q;i++){
           String a=list.set(i,list.get(q));
           list.set(q,a);
           q--;

        }
        //Collections.reverse(list);//将集合里的元素进行反转。
        System.out.println(list);
    }
}
